基于AT89C51單片機(jī)設(shè)計(jì)的簡(jiǎn)易智能機(jī)器人
2014/2/24 15:27:59
隨著微電子技術(shù)的不斷發(fā)展,微處理器芯片的集成程度越來(lái)越高,單片機(jī)已可以在一塊芯片上同時(shí)集成CPU、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、并行和串行接口、看門(mén)狗、前置放大器、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等多種電路,這就很容易將計(jì)算機(jī)技術(shù)與測(cè)量控制技術(shù)結(jié)合,組成智能化測(cè)量控制系統(tǒng)。這種技術(shù)促使機(jī)器人技術(shù)也有了突飛猛進(jìn)的發(fā)展,目前人們已經(jīng)完全可以設(shè)計(jì)并制造出具有某些特殊功能的簡(jiǎn)易智能機(jī)器人。
1 設(shè)計(jì)思想與總體方案
1.1 簡(jiǎn)易智能機(jī)器人的設(shè)計(jì)思想
本機(jī)器人能在任意區(qū)域內(nèi)沿引導(dǎo)線(xiàn)行走,自動(dòng)繞障,在有光源引導(dǎo)的條件下能沿光源行走。同時(shí),能檢測(cè)埋在地下的金屬片,發(fā)出聲光指示信息,并能實(shí)時(shí)存儲(chǔ)、顯示檢測(cè)到的斷點(diǎn)數(shù)目以及各斷點(diǎn)至起跑線(xiàn)間的距離,最后能停在指定地點(diǎn),顯示出整個(gè)運(yùn)行過(guò)程的時(shí)間。
1.2 總體設(shè)計(jì)方案和框圖
本設(shè)計(jì)以AT89C5l單片機(jī)作為檢測(cè)和控制核心。采用紅外光電傳感器檢測(cè)路面黑線(xiàn)及障礙物,使用金屬傳感器檢測(cè)路面下金屬鐵片,應(yīng)用光電碼盤(pán)測(cè)距,用光敏電阻檢測(cè)、判斷車(chē)庫(kù)位置,利用PWM(脈寬調(diào)制)技術(shù)動(dòng)態(tài)控制電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向和轉(zhuǎn)速。通過(guò)軟件編程實(shí)現(xiàn)機(jī)器人行進(jìn)、繞障、停止的精確控制以及檢測(cè)數(shù)據(jù)的存儲(chǔ)、顯示。通過(guò)對(duì)電路的優(yōu)化組合,可以最大限度地利用51單片機(jī)的全部資源。
P0口用于數(shù)碼管顯示,P1口用于電動(dòng)機(jī)的PWM驅(qū)動(dòng)控制,P2,P3口用于傳感器的數(shù)據(jù)采集與中斷控制。這樣做的優(yōu)點(diǎn)是:充分利用了單片機(jī)的內(nèi)部資源,降低了總體設(shè)計(jì)的成本。
2 系統(tǒng)的硬件組成及設(shè)計(jì)原理
此系統(tǒng)的硬件部分由單片機(jī)單元、傳感器單元、電源單元、聲光報(bào)警單元、鍵盤(pán)輸入單元、電機(jī)控制單元和顯示單元組成。
2.1 單片機(jī)單元
本系統(tǒng)采用AT89C51單片機(jī)作為中央處理器。其主要任務(wù)是掃描鍵盤(pán)輸入的信號(hào)啟動(dòng)機(jī)器人,在機(jī)器人行走過(guò)程中不斷讀取傳感器采集到的數(shù)據(jù),將得到的數(shù)據(jù)進(jìn)行處理后,根據(jù)不同的情況產(chǎn)生占空比不同的PWM脈沖來(lái)控制電機(jī),同時(shí)將相關(guān)數(shù)據(jù)送顯示單元?jiǎng)討B(tài)顯示,產(chǎn)生聲光報(bào)警信號(hào)。其中,P0用于數(shù)碼管動(dòng)態(tài)顯示,P1.0一P1.5控制2個(gè)電機(jī),P1.6、P1.7為獨(dú)立式鍵盤(pán)接口,P2接傳感器,P3.2接計(jì)里程的光電碼盤(pán),P3.7接聲光報(bào)警單元,P3.4、P3.5、P3.6接用于顯示斷點(diǎn)數(shù)目的發(fā)光二極管。
2.2 電機(jī)控制單元
本機(jī)器人采用了雙電機(jī)雙輪驅(qū)動(dòng)的小車(chē)作為其底座。2個(gè)電機(jī)分別獨(dú)立控制其左右兩邊的車(chē)輪,靠?jī)蛇呺姍C(jī)的轉(zhuǎn)速的不同來(lái)實(shí)現(xiàn)轉(zhuǎn)彎功能,還可讓其原地轉(zhuǎn)彎,便于控制。而傳統(tǒng)的小車(chē)是靠動(dòng)力電機(jī)和轉(zhuǎn)向電機(jī)驅(qū)動(dòng),轉(zhuǎn)彎角度難以控制,不便于使用。
電機(jī)控制電路采用大功率對(duì)管BDl39、BDl40組成的H型驅(qū)動(dòng)電路,通過(guò)單片機(jī)產(chǎn)生占空比不同的PWM脈沖,精確調(diào)整電機(jī)的轉(zhuǎn)速。這種電路由于工作在晶體管飽和或截止?fàn)顟B(tài),避免了在線(xiàn)性放大區(qū)工作時(shí)晶體管的管耗,可以最大限度地提高效率;H型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)電機(jī)轉(zhuǎn)速和方向的控制;電子開(kāi)關(guān)的速度和穩(wěn)定性也完全可滿(mǎn)足需要,整套驅(qū)動(dòng)電路是一種被廣泛采用的電機(jī)驅(qū)動(dòng)技術(shù)。
2.3 傳感器單元
整個(gè)機(jī)器人共采用了9個(gè)傳感器,分布在整個(gè)機(jī)器人的不同部位,相互配合起不同的作用。
各傳感器說(shuō)明如下:
傳感器1置于機(jī)器人正前方朝下的金屬探測(cè)傳感器,用于探測(cè)金屬。
傳感器2置于機(jī)器人正前方朝前的超聲波傳感器,用于檢測(cè)障礙物。超聲波來(lái)源于555產(chǎn)生40 kHz的方波信號(hào),經(jīng)超聲波發(fā)射頭發(fā)出。發(fā)射頭不斷發(fā)出信號(hào),當(dāng)遇到障礙物時(shí),信號(hào)會(huì)被反射回來(lái),從而接收頭會(huì)接受到信號(hào),將信號(hào)送入單片機(jī)進(jìn)行相應(yīng)的判斷和處理。
傳感器3置于機(jī)器人正前方朝下的紅外光電傳感器,用于檢測(cè)停止線(xiàn)。紅外發(fā)射管發(fā)出信號(hào),經(jīng)不同的反射介質(zhì)反射,根據(jù)紅外接收管是否接收到信號(hào)做出相應(yīng)的判斷。
傳感器4、5置于機(jī)器人底座下方朝下的紅外光電傳感器,用于檢測(cè)地面的引導(dǎo)線(xiàn),原理同傳感器3。
傳感器6、7置于機(jī)器人正前方朝前的光敏電阻傳感器,用于尋找光源。當(dāng)機(jī)器人前方有光源照射時(shí),光敏電阻的大小將會(huì)改變,將2個(gè)傳感器的改變量進(jìn)行比較處理后送入單片機(jī),單片機(jī)將會(huì)產(chǎn)生相應(yīng)的調(diào)整信號(hào),使機(jī)器人朝光強(qiáng)的方向行走。
傳感器8置于機(jī)器人后方兩側(cè)朝外的超聲波傳感器,用于在機(jī)器人遇到障礙物時(shí)的轉(zhuǎn)彎處理,判斷機(jī)器人是否完全繞開(kāi)障礙物,原理同傳感器2。
傳感器9置于機(jī)器人正后方的光電碼盤(pán),用于計(jì)里程,借助于鼠標(biāo)原理,選用直徑為2.6 cm的塑料小輪自制光電碼盤(pán),經(jīng)過(guò)打磨使其周長(zhǎng)為8 cm,再在該小輪上打等距離的8個(gè)孔,最小測(cè)距精度可達(dá)到1 cm,足以滿(mǎn)足要求,兩側(cè)裝上光電傳感器,將其安裝在車(chē)尾,使之與車(chē)的行駛同步。就實(shí)際情況自制出來(lái)的各個(gè)孔之間的距離無(wú)法精確相等,但經(jīng)過(guò)具體測(cè)量該光電碼盤(pán),能保證行駛50 cm產(chǎn)生50個(gè)脈沖,于是采用其作為計(jì)算距離的基準(zhǔn)單位。在直道區(qū),可由該電路產(chǎn)生的脈沖數(shù),計(jì)算出鐵片中心線(xiàn)至起跑線(xiàn)間的距離。
此外,為了清楚直觀地觀察到各傳感器的工作狀態(tài),電路中還專(zhuān)門(mén)為每個(gè)傳感器設(shè)計(jì)了工作指示燈,實(shí)時(shí)顯示每個(gè)傳感器的工作狀態(tài)。
2.4 鍵盤(pán)輸入單元
鍵盤(pán)輸入單元采用獨(dú)立式鍵盤(pán),由2個(gè)按鍵組成,其中一個(gè)為啟動(dòng)鍵,另一個(gè)為顯示切換鍵,當(dāng)機(jī)器人行走完全程后,按下該鍵,將顯示整個(gè)行走過(guò)程的時(shí)間。
2.5 顯示單元
顯示單元由2個(gè)7段數(shù)碼管組成,為了減少整個(gè)系統(tǒng)的功耗,采用了由單片機(jī)軟件譯碼,動(dòng)態(tài)顯示,實(shí)時(shí)顯示每個(gè)斷點(diǎn)到起點(diǎn)的距離以及整個(gè)運(yùn)行過(guò)程的時(shí)間。
2.6 聲光報(bào)警單元
用555作為振蕩源,用單片機(jī)觸發(fā)振蕩源驅(qū)動(dòng)電磁訊響器作為聲音指示器和1只發(fā)光二極管作為光指示裝置,從而組成聲光報(bào)警單元。
2.7 電源單元
本系統(tǒng)采用2套電源分別對(duì)電機(jī)和控制電路進(jìn)行單獨(dú)供電。系統(tǒng)控制電路采用經(jīng)7805穩(wěn)壓后的輸出供電(5V),電機(jī)則采用4節(jié)AA電池來(lái)供電。
3 系統(tǒng)的軟件設(shè)計(jì)
該系統(tǒng)配套的軟件程序采用模塊結(jié)構(gòu),由C語(yǔ)言編寫(xiě)完成。主要由初始化程序、偏道調(diào)整程序、偏離光源調(diào)整程序、聲光指示子程序、讀傳感器狀態(tài)、顯示程序、定時(shí)器0的中斷服務(wù)程序、定時(shí)器1的中斷服務(wù)程序、外部中斷0的服務(wù)程序、停車(chē)處理等模塊組成。
4 結(jié)束語(yǔ)
該機(jī)器人在認(rèn)為設(shè)定的跑道上經(jīng)過(guò)多次實(shí)驗(yàn),達(dá)到了預(yù)期的效果,但是其智能化程度還遠(yuǎn)遠(yuǎn)不夠。隨著人工智能和神經(jīng)網(wǎng)絡(luò)技術(shù)的不斷研究和深入,智能機(jī)器人的發(fā)展前景將會(huì)越來(lái)越廣闊。
1 設(shè)計(jì)思想與總體方案
1.1 簡(jiǎn)易智能機(jī)器人的設(shè)計(jì)思想
本機(jī)器人能在任意區(qū)域內(nèi)沿引導(dǎo)線(xiàn)行走,自動(dòng)繞障,在有光源引導(dǎo)的條件下能沿光源行走。同時(shí),能檢測(cè)埋在地下的金屬片,發(fā)出聲光指示信息,并能實(shí)時(shí)存儲(chǔ)、顯示檢測(cè)到的斷點(diǎn)數(shù)目以及各斷點(diǎn)至起跑線(xiàn)間的距離,最后能停在指定地點(diǎn),顯示出整個(gè)運(yùn)行過(guò)程的時(shí)間。
1.2 總體設(shè)計(jì)方案和框圖
本設(shè)計(jì)以AT89C5l單片機(jī)作為檢測(cè)和控制核心。采用紅外光電傳感器檢測(cè)路面黑線(xiàn)及障礙物,使用金屬傳感器檢測(cè)路面下金屬鐵片,應(yīng)用光電碼盤(pán)測(cè)距,用光敏電阻檢測(cè)、判斷車(chē)庫(kù)位置,利用PWM(脈寬調(diào)制)技術(shù)動(dòng)態(tài)控制電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向和轉(zhuǎn)速。通過(guò)軟件編程實(shí)現(xiàn)機(jī)器人行進(jìn)、繞障、停止的精確控制以及檢測(cè)數(shù)據(jù)的存儲(chǔ)、顯示。通過(guò)對(duì)電路的優(yōu)化組合,可以最大限度地利用51單片機(jī)的全部資源。
P0口用于數(shù)碼管顯示,P1口用于電動(dòng)機(jī)的PWM驅(qū)動(dòng)控制,P2,P3口用于傳感器的數(shù)據(jù)采集與中斷控制。這樣做的優(yōu)點(diǎn)是:充分利用了單片機(jī)的內(nèi)部資源,降低了總體設(shè)計(jì)的成本。
2 系統(tǒng)的硬件組成及設(shè)計(jì)原理
此系統(tǒng)的硬件部分由單片機(jī)單元、傳感器單元、電源單元、聲光報(bào)警單元、鍵盤(pán)輸入單元、電機(jī)控制單元和顯示單元組成。
2.1 單片機(jī)單元
本系統(tǒng)采用AT89C51單片機(jī)作為中央處理器。其主要任務(wù)是掃描鍵盤(pán)輸入的信號(hào)啟動(dòng)機(jī)器人,在機(jī)器人行走過(guò)程中不斷讀取傳感器采集到的數(shù)據(jù),將得到的數(shù)據(jù)進(jìn)行處理后,根據(jù)不同的情況產(chǎn)生占空比不同的PWM脈沖來(lái)控制電機(jī),同時(shí)將相關(guān)數(shù)據(jù)送顯示單元?jiǎng)討B(tài)顯示,產(chǎn)生聲光報(bào)警信號(hào)。其中,P0用于數(shù)碼管動(dòng)態(tài)顯示,P1.0一P1.5控制2個(gè)電機(jī),P1.6、P1.7為獨(dú)立式鍵盤(pán)接口,P2接傳感器,P3.2接計(jì)里程的光電碼盤(pán),P3.7接聲光報(bào)警單元,P3.4、P3.5、P3.6接用于顯示斷點(diǎn)數(shù)目的發(fā)光二極管。
2.2 電機(jī)控制單元
本機(jī)器人采用了雙電機(jī)雙輪驅(qū)動(dòng)的小車(chē)作為其底座。2個(gè)電機(jī)分別獨(dú)立控制其左右兩邊的車(chē)輪,靠?jī)蛇呺姍C(jī)的轉(zhuǎn)速的不同來(lái)實(shí)現(xiàn)轉(zhuǎn)彎功能,還可讓其原地轉(zhuǎn)彎,便于控制。而傳統(tǒng)的小車(chē)是靠動(dòng)力電機(jī)和轉(zhuǎn)向電機(jī)驅(qū)動(dòng),轉(zhuǎn)彎角度難以控制,不便于使用。
電機(jī)控制電路采用大功率對(duì)管BDl39、BDl40組成的H型驅(qū)動(dòng)電路,通過(guò)單片機(jī)產(chǎn)生占空比不同的PWM脈沖,精確調(diào)整電機(jī)的轉(zhuǎn)速。這種電路由于工作在晶體管飽和或截止?fàn)顟B(tài),避免了在線(xiàn)性放大區(qū)工作時(shí)晶體管的管耗,可以最大限度地提高效率;H型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)電機(jī)轉(zhuǎn)速和方向的控制;電子開(kāi)關(guān)的速度和穩(wěn)定性也完全可滿(mǎn)足需要,整套驅(qū)動(dòng)電路是一種被廣泛采用的電機(jī)驅(qū)動(dòng)技術(shù)。
2.3 傳感器單元
整個(gè)機(jī)器人共采用了9個(gè)傳感器,分布在整個(gè)機(jī)器人的不同部位,相互配合起不同的作用。
各傳感器說(shuō)明如下:
傳感器1置于機(jī)器人正前方朝下的金屬探測(cè)傳感器,用于探測(cè)金屬。
傳感器2置于機(jī)器人正前方朝前的超聲波傳感器,用于檢測(cè)障礙物。超聲波來(lái)源于555產(chǎn)生40 kHz的方波信號(hào),經(jīng)超聲波發(fā)射頭發(fā)出。發(fā)射頭不斷發(fā)出信號(hào),當(dāng)遇到障礙物時(shí),信號(hào)會(huì)被反射回來(lái),從而接收頭會(huì)接受到信號(hào),將信號(hào)送入單片機(jī)進(jìn)行相應(yīng)的判斷和處理。
傳感器3置于機(jī)器人正前方朝下的紅外光電傳感器,用于檢測(cè)停止線(xiàn)。紅外發(fā)射管發(fā)出信號(hào),經(jīng)不同的反射介質(zhì)反射,根據(jù)紅外接收管是否接收到信號(hào)做出相應(yīng)的判斷。
傳感器4、5置于機(jī)器人底座下方朝下的紅外光電傳感器,用于檢測(cè)地面的引導(dǎo)線(xiàn),原理同傳感器3。
傳感器6、7置于機(jī)器人正前方朝前的光敏電阻傳感器,用于尋找光源。當(dāng)機(jī)器人前方有光源照射時(shí),光敏電阻的大小將會(huì)改變,將2個(gè)傳感器的改變量進(jìn)行比較處理后送入單片機(jī),單片機(jī)將會(huì)產(chǎn)生相應(yīng)的調(diào)整信號(hào),使機(jī)器人朝光強(qiáng)的方向行走。
傳感器8置于機(jī)器人后方兩側(cè)朝外的超聲波傳感器,用于在機(jī)器人遇到障礙物時(shí)的轉(zhuǎn)彎處理,判斷機(jī)器人是否完全繞開(kāi)障礙物,原理同傳感器2。
傳感器9置于機(jī)器人正后方的光電碼盤(pán),用于計(jì)里程,借助于鼠標(biāo)原理,選用直徑為2.6 cm的塑料小輪自制光電碼盤(pán),經(jīng)過(guò)打磨使其周長(zhǎng)為8 cm,再在該小輪上打等距離的8個(gè)孔,最小測(cè)距精度可達(dá)到1 cm,足以滿(mǎn)足要求,兩側(cè)裝上光電傳感器,將其安裝在車(chē)尾,使之與車(chē)的行駛同步。就實(shí)際情況自制出來(lái)的各個(gè)孔之間的距離無(wú)法精確相等,但經(jīng)過(guò)具體測(cè)量該光電碼盤(pán),能保證行駛50 cm產(chǎn)生50個(gè)脈沖,于是采用其作為計(jì)算距離的基準(zhǔn)單位。在直道區(qū),可由該電路產(chǎn)生的脈沖數(shù),計(jì)算出鐵片中心線(xiàn)至起跑線(xiàn)間的距離。
此外,為了清楚直觀地觀察到各傳感器的工作狀態(tài),電路中還專(zhuān)門(mén)為每個(gè)傳感器設(shè)計(jì)了工作指示燈,實(shí)時(shí)顯示每個(gè)傳感器的工作狀態(tài)。
2.4 鍵盤(pán)輸入單元
鍵盤(pán)輸入單元采用獨(dú)立式鍵盤(pán),由2個(gè)按鍵組成,其中一個(gè)為啟動(dòng)鍵,另一個(gè)為顯示切換鍵,當(dāng)機(jī)器人行走完全程后,按下該鍵,將顯示整個(gè)行走過(guò)程的時(shí)間。
2.5 顯示單元
顯示單元由2個(gè)7段數(shù)碼管組成,為了減少整個(gè)系統(tǒng)的功耗,采用了由單片機(jī)軟件譯碼,動(dòng)態(tài)顯示,實(shí)時(shí)顯示每個(gè)斷點(diǎn)到起點(diǎn)的距離以及整個(gè)運(yùn)行過(guò)程的時(shí)間。
2.6 聲光報(bào)警單元
用555作為振蕩源,用單片機(jī)觸發(fā)振蕩源驅(qū)動(dòng)電磁訊響器作為聲音指示器和1只發(fā)光二極管作為光指示裝置,從而組成聲光報(bào)警單元。
2.7 電源單元
本系統(tǒng)采用2套電源分別對(duì)電機(jī)和控制電路進(jìn)行單獨(dú)供電。系統(tǒng)控制電路采用經(jīng)7805穩(wěn)壓后的輸出供電(5V),電機(jī)則采用4節(jié)AA電池來(lái)供電。
3 系統(tǒng)的軟件設(shè)計(jì)
該系統(tǒng)配套的軟件程序采用模塊結(jié)構(gòu),由C語(yǔ)言編寫(xiě)完成。主要由初始化程序、偏道調(diào)整程序、偏離光源調(diào)整程序、聲光指示子程序、讀傳感器狀態(tài)、顯示程序、定時(shí)器0的中斷服務(wù)程序、定時(shí)器1的中斷服務(wù)程序、外部中斷0的服務(wù)程序、停車(chē)處理等模塊組成。
4 結(jié)束語(yǔ)
該機(jī)器人在認(rèn)為設(shè)定的跑道上經(jīng)過(guò)多次實(shí)驗(yàn),達(dá)到了預(yù)期的效果,但是其智能化程度還遠(yuǎn)遠(yuǎn)不夠。隨著人工智能和神經(jīng)網(wǎng)絡(luò)技術(shù)的不斷研究和深入,智能機(jī)器人的發(fā)展前景將會(huì)越來(lái)越廣闊。
提交
查看更多評(píng)論
其他資訊
工業(yè)機(jī)器人控制系統(tǒng)的開(kāi)放體系結(jié)構(gòu)
工業(yè)機(jī)器人離線(xiàn)編程及無(wú)碰撞路徑規(guī)劃系統(tǒng)的開(kāi)發(fā)研究
工業(yè)機(jī)器人手臂結(jié)構(gòu)的有限元分析與研究
工業(yè)機(jī)器人通用控制器研究開(kāi)發(fā)
工業(yè)機(jī)器人網(wǎng)絡(luò)控制與編程